﻿// 5046. 智商药.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>


/*
https://www.acwing.com/problem/content/5049/

小明是个智商为 0
 的白痴，他希望通过吃药的方式将自己的智商提升至 n
。

市面上一共有 m
 种智商药，编号 1∼m
。

第 i
 种药的疗效区间为 [li,ri]
，其中 li<ri
。

具体来说，一个人可以服用第 i
 种药，当且仅当其智商在 [li,ri−1]
 范围内，服下该药后，其智商会变为 ri
。

请你计算，小明一共有多少种吃药的方法，可以让他的智商提高至 n
。

由于结果可能很大，所以你只需要输出对 109+7
 取模后的结果。

如果两种吃药方法，需要吃下的药物不完全相同，则视为两种不同的方法。

注意，不同药物的疗效区间可能相同，但是仍视为不同药物。

输入格式
第一行包含两个整数 n,m
。

接下来 m
 行，每行包含两个整数 li,ri
。

输出格式
一个整数，表示方法总数量对 109+7
 取模后的结果。

数据范围
前 4
 个测试点满足 1≤n≤5
，0≤m≤5
。
所有测试点满足 1≤n≤109
，0≤m≤105
，0≤li<ri≤n
。

输入样例1：
2 2
0 1
1 2
输出样例1：
1
输入样例2：
3 2
0 1
1 2
输出样例2：
0
输入样例3：
5 5
0 1
0 2
0 3
0 4
0 5
输出样例3：
16
*/
int main()
{
    std::cout << "Hello World!\n";
}

